home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / comm / www / HTTX.lha / AWeb / HTTXPluginCFG.awebrx < prev    next >
Text File  |  1997-07-16  |  11KB  |  318 lines

  1. /*
  2.     HTTXPlugin Configuration
  3.     $VER: HTTXPluginCFG 2.0 (1.5.97) by Gabriele Favrin (favrin@tin.it)
  4.  
  5.     Based on HTTXConfig.awebrx by Amitrix
  6. */
  7.  
  8. Options Results
  9. Options failat 999
  10.  
  11.  
  12. 'AllowCMD'
  13. 'GetCFG TEMPPATH'
  14. If rc == 11 then do
  15.     address command 'C:RequestChoice >NIL: HTTXPlugin "Sorry, this plugin requires at least AWeb 3.0 !" "Sigh"'
  16.     exit 20
  17. end
  18. fname=result||"HTTXconfig.html"
  19.  
  20. save_len = 77
  21. save_indent = 3
  22. save_ansi = 0
  23. save_7bit = 0
  24. save_hrmode = 1
  25. save_noalign = 0
  26. save_filenote = 0
  27. save_noheader = 0
  28. save_href = 0
  29. save_img = 0
  30. save_badhtml = 0
  31. print_len = 77
  32. print_indent = 3
  33. print_ansi = 0
  34. print_7bit = 0
  35. print_hrmode = 1
  36. print_noalign = 0
  37. print_noheader = 0
  38. print_href = 0
  39. print_img = 0
  40. print_badhtml = 0
  41. prefs_info=0
  42. prefs_report=1
  43. prefs_preview=0
  44. prefs_savedir="ram:"
  45. local_storagemode = "Use"
  46.  
  47. args = ""
  48.  
  49. parse ARG args
  50. parse SOURCE prog_type result_flag called resolved ext host .
  51.  
  52. If args == "" then do
  53.     If Open(rcfg_fp, 'ENV:HTTXPlugin.config', 'R') then do
  54.         cfg=ReadLN(rcfg_fp)
  55.  
  56.         If Left(cfg, 6) == "prefs_" then do
  57.             interpret translate(strip(cfg), ';',' ')
  58.             prefs_savedir=Translate(prefs_savedir, ' ', ';')
  59.         End
  60.  
  61.         Call Close(rcfg_fp)
  62.     End
  63.  
  64.     If Open(save_config_fp, "ENV:HTTX.prefs", 'R') then do
  65.         save_config_string = Upper(ReadLN(save_config_fp))
  66.         Call Close(save_config_fp)
  67.  
  68.         If Pos('LEN=', save_config_string) > 0 then
  69.             parse VAR save_config_string 'LEN='save_len . 
  70.  
  71.         If Pos('INDENT=', save_config_string) > 0 then
  72.             parse VAR save_config_string 'INDENT='save_indent . 
  73.  
  74.         If Pos('HRMODE=', save_config_string) > 0 then
  75.             parse VAR save_config_string 'HRMODE='save_hrmode . 
  76.  
  77.         save_noalign = Pos('NOALIGN', save_config_string) > 0
  78.         save_ansi = Pos('ANSI', save_config_string) > 0
  79.         save_7bit = Pos('7BIT', save_config_string) > 0
  80.         save_filenote = Pos('FILENOTE', save_config_string) > 0
  81.         save_noheader = Pos('NOHEADER', save_config_string) > 0
  82.         save_href = Pos('HREF', save_config_string) > 0
  83.         save_img = Pos('IMG', save_config_string) > 0
  84.         save_badhtml = Pos('BADHTML', save_config_string) > 0
  85.     End
  86.  
  87.     If Open(print_config_fp, "ENV:HTTXprt.prefs", 'R') then do
  88.         print_config_string = ReadLN(print_config_fp)
  89.         Call Close(print_config_fp)
  90.  
  91.         If Pos('LEN=',print_config_string) > 0 then
  92.             parse VAR print_config_string 'LEN='print_len . 
  93.  
  94.         If Pos('INDENT=',print_config_string) > 0 then
  95.             parse VAR print_config_string 'INDENT='print_indent . 
  96.  
  97.         If Pos('HRMODE=',print_config_string) > 0 then
  98.             parse VAR print_config_string 'HRMODE='print_hrmode . 
  99.  
  100.         print_noalign = Pos('NOALIGN', print_config_string) > 0
  101.         print_ansi = Pos('ANSI', print_config_string) > 0
  102.         print_7bit = Pos('7BIT', print_config_string) > 0
  103.         print_noheader = Pos('NOHEADER', print_config_string) > 0
  104.         print_href = Pos('HREF', print_config_string) > 0
  105.         print_img = Pos('IMG', print_config_string) > 0
  106.         print_badhtml = Pos('BADHTML', print_config_string) > 0
  107.     End
  108.  
  109.     If Open(HTML_fp,fname, 'W') then do
  110.         html='<html><head><title>HTTXPlugin - configuration</title></head><body><center><a href="#plugin">Plugin configuration</a>   <a href="#store">Save options</a><form action="x-aweb:rexx/'||resolved||' ">'
  111.         html=html||'<h2 align=center><a name="httx">HTML conversion related configuration</a></h2>'
  112.         html=html||'<table align=center cellspacing=8><tr><th>Options Description<th>Save<th>Print<tr>'
  113.  
  114.         html=html||'<td>Default directory<td colspan=2 align=center><input size=19 maxlength=18 name="prefs_savedir" value="'prefs_savedir'"><tr>'
  115.         html=html||'<td>Line length (min 15, max 255)<td align=center><input size=3 maxlength=3 name="save_len" value="'save_len'"><td align=center><input size=3 maxlength=3 name="print_len" value="'print_len'"><tr>'
  116.         html=html||'<td>Indentation<td align=center><input size=2 maxlength=2 name="save_indent" value="'save_indent'"><td align=center><input size=2 maxlength=2 name="print_indent" value="'print_indent'"><tr>'
  117.  
  118.         Call html_radial('Ansi conversion of styles and links', 'save_ansi', 'print_ansi')
  119.         Call html_radial('Conversion of entities to 7 bit ascii', 'save_7bit', 'print_7bit')
  120.  
  121.         html=html||'<td>HR draw mode<td align=center>'
  122.  
  123.         html=html||'OFF <input type=radio name="save_hrmode" value="0"'
  124.         If save_hrmode == 0 then
  125.             html=html||' checked>'
  126.         else
  127.             html=html||'>'
  128.  
  129.         html=html||'   ASCII <input type=radio name="save_hrmode" value="1"'
  130.         If save_hrmode == 1 then
  131.             html=html||' checked>'
  132.         else
  133.             html=html||'>'
  134.  
  135.         html=html||'   ANSI <input type=radio name="save_hrmode" value="2"'
  136.         If save_hrmode == 2 then
  137.             html=html||' checked><td align=center>'
  138.         else
  139.             html=html||'><td align=center>'
  140.  
  141.         html=html||'OFF <input type=radio name="print_hrmode" value="0"'
  142.         If print_hrmode == 0 then
  143.             html=html||' checked>'
  144.         else
  145.             html=html||'>'
  146.  
  147.         html=html||'   ASCII <input type=radio name="print_hrmode" value="1"'
  148.         If print_hrmode == 1 then
  149.             html=html||' checked>'
  150.         else
  151.             html=html||'>'
  152.  
  153.         html=html||'   ANSI <input type=radio name="print_hrmode" value="2"'
  154.         If print_hrmode == 2 then
  155.             html=html||' checked><tr>'
  156.         else
  157.             html=html||'><tr>'
  158.  
  159.         Call html_radial('Ignore text and HR alignment', 'save_noalign', 'print_noalign')
  160.         Call html_radial_single('Save Title as FileNote', 'save_filenote')
  161.  
  162.         Call html_radial('Suppress Title/URL', 'save_noheader', 'print_noheader')
  163.         Call html_radial('Print HTML Link References', 'save_href', 'print_href')
  164.         Call html_radial('Print Image Alternate Texts', 'save_img', 'print_img')
  165.         Call html_radial('Support badly written HTML', 'save_badhtml', 'print_badhtml')
  166.         html=html||'</table><hr width=15%><br><a href="#httx">HTML Conversion Configuration</a><h2 align=center><a name="plugin">Plugin related configuration</a></h2><table align=center cellspacing=8><tr><th>Options Description<th>mode<tr>'
  167.  
  168.         Call html_radial_single('Print HTTP/META header', 'prefs_info')
  169.         Call html_radial_single('Show preview of converted document', 'prefs_preview')
  170.         Call html_radial_single("Show conversion report", 'prefs_report')
  171.  
  172.         html=html||'</table><p align=center><a href="file://localhost/'Left(resolved, LastPos("/", resolved))'HTTXPlugin.doc.html">Help</a>   <a href="#httx">HTML Conversion Configuration</a>   <a href="#plugin">Plugin configuration</a><p align=center><a name="store"><input type="submit" name="local_storagemode" value="Save">   <input type="submit" name="local_storagemode" value="Use"><br><input type="reset" name="" value="Reset to last saved"></a></form><p><hr>HTTX by Gabriele Favrin (favrin@tin.it)</body></html>'
  173.  
  174.         Call WriteCh(html_fp, html)
  175.         Call Close(html_fp)
  176.  
  177.         'Open file://localhost/'fname 'RELOAD'
  178.         'Wait file://localhost/'fname
  179.         address command 'C:Delete QUIET' fname
  180.     End
  181. End
  182. else do
  183.     interpret translate(strip(args),';',' ')
  184.  
  185.     save_config_string = 'LEN='save_len 'INDENT='save_indent 
  186.     print_config_string = 'LEN='print_len 'INDENT='print_indent
  187.  
  188.     If save_ansi then
  189.         save_config_string = save_config_string 'ANSI'
  190.  
  191.     If save_7bit then
  192.         save_config_string = save_config_string '7BIT'
  193.  
  194.     If save_hrmode ~= 1 then
  195.         save_config_string = save_config_string 'HRMODE='save_hrmode
  196.  
  197.     If save_noalign then
  198.         save_config_string = save_config_string 'NOALIGN'
  199.  
  200.     If save_filenote then
  201.         save_config_string = save_config_string 'FILENOTE'
  202.  
  203.     If save_noheader then do
  204.         save_config_string = save_config_string 'NOHEADER'
  205.     end
  206.     else do
  207.         save_config_string = save_config_string 'GETNOTE'
  208.     end
  209.  
  210.     If save_href then
  211.         save_config_string = save_config_string 'HREF'
  212.  
  213.     If save_img then
  214.         save_config_string = save_config_string 'IMG'
  215.  
  216.     If save_badhtml then
  217.         save_config_string = save_config_string 'BADHTML'
  218.  
  219.     If print_ansi then
  220.         print_config_string = print_config_string 'ANSI'
  221.  
  222.     If print_7bit then
  223.         print_config_string = print_config_string '7BIT'
  224.  
  225.     If print_hrmode ~= 1 then
  226.         print_config_string = print_config_string 'HRMODE='print_hrmode
  227.  
  228.     If print_noalign then
  229.         print_config_string = print_config_string 'NOALIGN'
  230.  
  231.     If print_noheader then do
  232.         print_config_string = print_config_string 'NOHEADER'
  233.     end
  234.     else do
  235.         print_config_string = print_config_string 'GETNOTE'
  236.     end
  237.  
  238.     If print_href then
  239.         print_config_string = print_config_string 'HREF'
  240.  
  241.     If print_img then
  242.         print_config_string = print_config_string 'IMG'
  243.  
  244.     If print_badhtml then
  245.         print_config_string = print_config_string 'BADHTML'
  246.  
  247.     If local_storagemode = "Save" then
  248.         Call do_save('ENVARC:')
  249.  
  250.     Call do_save('ENV:')
  251.     /*'GO BACK'*/
  252.     address command 'UnsetEnv HTTXPlugin.savedir'
  253. End
  254.  
  255. exit 0
  256.  
  257.  
  258. do_save:
  259.     parse ARG dest_dir
  260.  
  261.     If Open(save_config_fp, dest_dir||"HTTX.prefs", 'W') then do
  262.         Call WriteLN(save_config_fp, translate(save_config_string,,';'))
  263.         Call Close(save_config_fp)
  264.     End
  265.  
  266.     If Open(print_config_fp, dest_dir||"HTTXprt.prefs", 'W') then do
  267.         Call WriteLN(print_config_fp, translate(print_config_string,,';'))
  268.         Call Close(print_config_fp)
  269.     End
  270.  
  271.     prefs_savedir=Translate(prefs_savedir, ' ', ';')
  272.     last_char=right(prefs_savedir, 1)
  273.     if (last_char ~= ":") & (last_char ~= "/") then do
  274.         prefs_savedir=prefs_savedir"/"
  275.     end
  276.  
  277.     If Open(plugin_config_fp, dest_dir||"HTTXPlugin.config", 'W') then do
  278.         Call WriteLN(plugin_config_fp, 'prefs_info="'prefs_info'" prefs_preview="'prefs_preview'" prefs_report="'prefs_report'" prefs_savedir="'prefs_savedir'"')
  279.         Call Close(plugin_config_fp)
  280.     End
  281.     return
  282.  
  283.  
  284.  
  285. html_radial:
  286.     parse ARG text , variable_name , variable_name2
  287.  
  288.     html=html||'<td>'text'<td align=center>'
  289.  
  290.     If value(variable_name) then do 
  291.         html=html||'ON <input type=radio name="'||variable_name||'" value="1" checked>   OFF <input type=radio name="'||variable_name||'" value="0"><td align=center> '
  292.     End
  293.     else do
  294.         html=html||'ON <input type=radio name="'||variable_name||'" value="1">   OFF <input type=radio name="'||variable_name||'" value="0" checked><td align=center> '
  295.     End
  296.  
  297.     If value(variable_name2) then do 
  298.         html=html||'ON <input type=radio name="'||variable_name2||'" value="1" checked>   OFF <input type=radio name="'||variable_name2||'" value="0"><tr>'
  299.     End
  300.     else do
  301.         html=html||'ON <input type=radio name="'||variable_name2||'" value="1">   OFF <input type=radio name="'||variable_name2||'" value="0" checked><tr>'
  302.     End
  303.     return
  304.  
  305.  
  306. html_radial_single:
  307.     parse ARG text , variable_name
  308.  
  309.     html=html||'<td>'text'<td align=center>'
  310.     If value(variable_name) then do 
  311.         html=html||'ON <input type=radio name="'||variable_name||'" value="1" checked>   OFF <input type=radio name="'||variable_name||'" value="0"><tr>'
  312.     End
  313.     else do
  314.         html=html||'ON <input type=radio name="'||variable_name||'" value="1">   OFF <input type=radio name="'||variable_name||'" value="0" checked><tr>'
  315.     End
  316.     return
  317.  
  318.